// function childNum (num, count) {
//   let allplayer = []; // 生成一个所有的人的数组
//   for (let i = 0; i < num; i++) {
//     allplayer[i] = i + 1; // 给每个人进行编号
//   }

//   let exitCount = 0;    // 离开人数
//   let counter = 0;      // 记录报数
//   let curIndex = 0;     // 当前下标

//   while (exitCount < num - 1) { // 当退出的人数小于人数-1 就剩下一个人
//     if (allplayer[curIndex] !== 0) counter++; // 退出的人就置为0 然后一次报数 如果不是0 就让报数+1

//     if (counter == count) { // 如果报数是要的数 
//       allplayer[curIndex] = 0; // 设置的当前的变成0 
//       counter = 0; // 计数设为0
//       exitCount++; //离开的人数++
//     }
//     curIndex++; // 当前的下标++
//     if (curIndex == num) { // 如果走到末尾
//       curIndex = 0 // 修改当前的下标为0
//     };
//   }
//   for (i = 0; i < num; i++) { // 剩下的这一个 寻找不是0的返回
//     if (allplayer[i] !== 0) {
//       return allplayer[i]
//     }
//   }
// }
function childNum (num, count) {
  let allplayer = []
  for (let i = 0; i < num; i++) {
    allplayer[i] = i + 1
  }
  let exitCount = 0
  let curIndex = 0
  let counter = 0
  while (exitCount < num - 1) {
    if (allplayer[curIndex] !== 0) {
      counter++
    }
    if (counter === count) {
      allplayer[curIndex] = 0
      counter = 0
      exitCount++
    }
    curIndex++
    if (curIndex === num) {
      curIndex = 0
    }
  }
  for (let i = 0; i < num; i++) {
    if (allplayer[i]) {
      return allplayer[i]
    }
  }
}
console.log(childNum(30, 3));